package com.ihisomp.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.List;

/**
 * 标题: PathTreeDto.java
 * 业务描述: 运营管理菜单树型DTO
 * 作者: zy
 * 日期: 2021/11/23
 * 版本: V1.0
 */
@ApiModel(value = "系统菜单树型数据类")
public class PathTreeDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "菜单主键")
    private String id;

    /**
     * 菜单名称
     */
    @ApiModelProperty(value = "菜单名称")
    private String name;

    /**
     * 简拼
     */
    @ApiModelProperty(value = "简拼")
    private String py;

    /**
     * 顺序号
     */
    @ApiModelProperty(value = "顺序号")
    private Integer seq;

    /**
     * 类型(1，文件夹；2，程序；3，权限)
     */
    @ApiModelProperty(value = "类型")
    private Integer type;

    /**
     * 页面路径
     */
    @ApiModelProperty(value = "页面路径")
    private String url;

    /**
     * 重定向
     */
    @ApiModelProperty(value = "重定向")
    private String redirect;

    /**
     * 菜单图标
     */
    @ApiModelProperty(value = "菜单图标")
    private String icon;

    /**
     * 组件名称
     */
    @ApiModelProperty(value = "组件名称")
    private String component;

    /**
     * 是否缓存（1:是 0:否）
     */
    @ApiModelProperty(value = "是否缓存")
    private Integer nocache;

    /**
     * 上级菜单主键
     */
    @ApiModelProperty(value = "上级菜单主键")
    private String pid;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String note;

    /**
     * 启用注记：0：未启用；1：启用
     */
    @ApiModelProperty(value = "状态")
    private Integer status;

    /**
     * 父ID名称
     */
    @ApiModelProperty(value = "父菜单名称")
    private String pname;

    /**
     * 子节点
     */
    @ApiModelProperty(value = "子节点集合")
    private List<PathTreeDto> children;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPy() {
        return py;
    }

    public void setPy(String py) {
        this.py = py;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getRedirect() {
        return redirect;
    }

    public void setRedirect(String redirect) {
        this.redirect = redirect;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Integer getNocache() {
        return nocache;
    }

    public void setNocache(Integer nocache) {
        this.nocache = nocache;
    }

    public String getPid() {
        return pid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getPname() {
        return pname;
    }

    public void setPname(String pname) {
        this.pname = pname;
    }

    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component;
    }

    public List<PathTreeDto> getChildren() {
        return children;
    }

    public void setChildren(List<PathTreeDto> children) {
        this.children = children;
    }

    @Override
    public String toString() {
        return "PathTreeDto{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", py='" + py + '\'' +
                ", seq=" + seq +
                ", type=" + type +
                ", url='" + url + '\'' +
                ", redirect='" + redirect + '\'' +
                ", icon='" + icon + '\'' +
                ", component='" + component + '\'' +
                ", nocache=" + nocache +
                ", pid='" + pid + '\'' +
                ", note='" + note + '\'' +
                ", status=" + status +
                ", pname='" + pname + '\'' +
                ", children=" + children +
                '}';
    }
}
